package com.ls.blog.service;

import com.ls.blog.dto.CommentDTO;
import com.ls.blog.dto.LikeDTO;
import com.ls.blog.dto.Recodes;
import com.ls.blog.entity.Comment;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ls.blog.vo.CommentVO;
import com.ls.blog.vo.PageVO;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author lishun
 * @since 2022-01-14
 */
public interface CommentService extends IService<Comment> {

    /**
     * 根据博客id查出评论信息
     * @param pageVO
     * @return
     */
    Recodes<CommentDTO> listCommentByArticleIdId(PageVO pageVO);

    //添加保存评论
    void saveComment(CommentVO commentVO);

    //删除评论
    void deleteComment(Integer id);

    List<Comment> findCommentByNickname(String nickname);

    Recodes<CommentDTO> getCommentByPage(PageVO pageVO);

    /**
     * 审核评论列表
     * @param pageVO
     * @return
     */
    Recodes<CommentDTO> sureComments(PageVO pageVO);

    /**
     * 批量审核
     * @param ids
     */
    void batchSureComments(List<Integer> ids);

    /**
     * 批量拒绝
     * @param ids
     */
    void rejectSureComments(List<Integer> ids);

    /**
     * 分页二级评论
     * @param pageVO
     * @return
     */
    Recodes<CommentDTO> replys(PageVO pageVO);

    /**
     * 评论点赞
     * @param id
     */
    LikeDTO commentUp(Integer id);
}
